const LINKEME_KEY = 'd96380ce0a226fe3f9d35d2a64a4b690'; // 这是你在官网网站注册账号，创建应用后生成的LinkedME Key
const linkedmeType = 'live';
const defaultData = {};
defaultData.type = 'live'; // 线上模式,填写"test"表示测试模式.【可选】
// 这些参数在官网上都有详细的说明
defaultData.feature = '功能名称';
defaultData.stage = '阶段名称';
defaultData.state = 1;
defaultData.channel = '渠道名称';
defaultData.tags = '标签名称';
defaultData.ios_custom_url = '';
defaultData.android_custom_url = '';

// 下面是自定义深度链接参数，用户点击深度链接打开app之后，params参数将被带入app，你可以通过这些参数跳到app里对应的页面
export default function (obj) {
  if (window.linkedme.LINKEME_KEY !== LINKEME_KEY) {
    window.linkedme.init(LINKEME_KEY, { type: linkedmeType }, null);
  }
  console.log();
  obj = obj || {};
  let str = '';
  for (const k in obj) {
    str += `"${k}":"${obj[k]}",`;
  }
  str = str.slice(0, -1);
  const params = `{${str}}`;
  return new Promise((resolve, reject) => {
    linkedme.link(
      {
        ...defaultData,
        ...{ params },
      },
      (err, data) => {
        if (err) {
          reject(err);
        } else {
          /*
                 生成深度链接成功，深度链接可以通过data.url得到，
                 将深度链接绑定到<a>标签，这样当用户点击这
                 个深度链接，如果是在pc上，那么跳转到深度链接二维
                 码页面，用户用手机扫描该二维码就会打开app；如果
                 在移动端，深度链接直接会根据手机设备类型打开ios
                 或者安卓app
                 */
          resolve(data);
        }
      },
      false,
    );
  });
}
